您的任務是實作一個支援四種關鍵操作的二元搜尋樹。
- 操作次數為 $N$,其中 $1 \le N \le 2 \cdot 10^5$。
- ins k: 將整數鍵 $k$ 插入二元搜尋樹中。若 $k$ 已存在,則此操作不執行任何動作。
- find k: 搜尋鍵 $k$。若存在則輸出「true」,否則輸出「false」。
- succ k: 找出 $k$ 的後繼者——樹中嚴格大於 $k$ 且最小的鍵。若不存在則輸出「null」。
- pred k: 找出 $k$ 的前驅者——樹中嚴格小於 $k$ 且最大的鍵。若不存在則輸出「null」。
- 關鍵假設:對於後繼者與前驅者查詢,鍵 $k$ 確定會出現在樹中。